home *** CD-ROM | disk | FTP | other *** search
-
-
-
- ******************************************************
- * *
- * CLOCKDRV.PRG *
- * *
- * Treiber für einen DCF-77-Atomzeitempfänger *
- * plus Bildschirmschoner *
- * plus Datums-/ Uhrzeit-Einblendung in die Menüzeile *
- * *
- * *
- * CLOCKDRV.CPX *
- * *
- * Konfigurationsmodul für CLOCKDRV.PRG *
- * *
- * Version 1.2 *
- * *
- * (C) Klaus Rittmeier, 29.9.93 *
- * *
- ******************************************************
-
-
-
-
-
-
-
- A C H T U N G
- _______________
-
-
- Die Programme CLOCKDRV.PRG, CLOCKDRV.CPX und LOAD_CPX.ACC dürfen nur gemeinsam
- und nur zusammen mit CLOCKDRV.DOK (dieser Dokumentation) verbreitet werden.
- Veränderungen an den Programmen oder an dieser Dokumentation sind untersagt.
-
- CLOCKDRV.PRG, CLOCKDRV.CPX und LOAD_CPX.ACC dürfen kostenlos verbreitet und
- benutzt werden, jedoch nicht ohne Zustimmung des Autors kommerziell verwertet
- werden.
- Bei Verwendung von CLOCKDRV.PRG als Treiber für einen DCF-77-Empfänger sollte
- sich der Nutzer beim Autor gegen eine Sharewaregebühr von 20,-DM registrieren
- lassen. Bei Einsatz ohne Empfänger ist die Benutzung kostenlos.
-
- Registrierte Benutzer kommen in den Genuß des ( bis auf die Disketten- und
- Versandkosten ) kostenlosen Update-Service. Sie werden bei Erscheinen einer
- neuen Programmversion benachrichtigt oder können bereits bei der Registrie-
- rung 5,-DM in Briefmarken beilegen, dann bekommen sie die nächste Version
- automatisch.
-
- Für eventuelle Schäden, die durch Benutzung dieses Programmes entstanden sind,
- übernimmt der Autor keine Haftung.
-
-
-
-
- ******************************************************************************
-
-
-
- INHALT
- ______________________________________
-
-
- 1. Funktionsbeschreibung
- 1.1. Bildschirmschoner
- 1.1.1. Bildschirmschoner Typ "VDI"
- 1.1.2. Bildschirmschoner Typ "Shifter"
- 1.1.3. Bildschirmschoner Typ "Palette"
- 1.2. Uhrzeitanzeige
- 1.3. Treiber für Atomuhr
- 2. Installation
- 3. Konfigurierung
- 4. Einschränkungen
- 5. Anschluß einer Funkuhr an den ATARI
- 6. Informationen für Insider
- 7. Hotline
- 8. Updates
- 9. Wenn es nicht so läuft, wie es soll...
-
-
- ******************************************************************************
-
-
-
- 1. FUNKTIONSBESCHREIBUNG
- ________________________
-
-
-
- CLOCKDRV.PRG ist ein Multifunktionsprogramm für alle Rechner der ATARI ST-,
- STE- und TT-Reihe. Es läuft in jeder Auflösung und benötigt ca. 22 kB
- Speicher. Es müßte auch auf Grafikkarten funktionieren, was jedoch nicht
- getestet werden konnte.
-
- Es installiert sich resident im Arbeitsspeicher des Rechners und verrichtet
- seine Aufgaben im Hintergrund.
-
- CLOCKDRV.CPX dient der Konfiguration von CLOCKDRV.PRG, d.h. damit können die
- einzelnen Funktionen gewählt und bestimmte Parameter gesetzt werden.
-
- CLOCKDRV.PRG ist auch ohne CLOCKDRV.CPX voll funktionsfähig.
-
- Für CLOCKDRV.CPX ist der Besitz des modularen Kontrollfeldes XCONTROL.ACC von
- Atari Voraussetzung. Nichtbesitzer dieses Kontrollfeldes können stattdessen
- das Programm LOAD_CPX.ACC verwenden. Dieses Programm funktioniert ähnlich wie
- das Kontrollfeld, hat jedoch eingeschränkte Funktionen.
-
-
- Drei Funktionen in CLOCKDRV.PRG sind es, die auch unabhängig voneinander
- genutzt, bzw. ein- und ausgeschaltet werden können:
-
-
-
- 1.1. Bildschirmschoner
- ----------------------
-
- CLOCKDRV.PRG ist ein Bildschirmschoner, der sich von vergleichbaren Programmen
- in einigen Punkten unterscheidet und speziell auf die Treiberfunktion für eine
- Funkuhr angepaßt ist.
-
- Wenn nicht mit dem Rechner gearbeitet wird, d.h., wenn die Maus nicht bewegt
- wird und keine Taste gedrückt wird, verändert sich i.d.R. das Monitorbild
- nicht. Dann besteht die Gefahr, daß sich der Elektronenstrahl in die Leucht-
- schicht einbrennt, was dauerhafte Spuren in der Schicht hinterläßt.
- CLOCKDRV.PRG sorgt dafür, daß in diesem Falle nach einer vorgegebenen Zeit
- der Bildschirm dunkel wird. Jede Mausbewegung bzw. jeder Tastendruck läßt das
- normale Monitorbild wieder sichtbar werden.
-
- Achtung: Viele andere Bildschirmschoner schalten einfach die Synchronisation
- des Monitors ab. Das kann u.U. für den Monitor verheerende Folgen haben.
- CLOCKDRV.PRG ist monitorfreundlich. Es wird ein schwarzes "Bild" dargestellt.
-
- In CLOCKDRV gibt es drei verschiedene Typen von Bildschirmschonern. Jeder Typ
- hat seine Vor- und Nachteile. Den "Universalschoner" gibt es leider nicht.
- Die Typbezeichnung wurde vom Funktionsprinzip abgeleitet und ist für den
- Nicht-ATARI-Fachmann nichtssagend:
-
-
- 1.1.1. Bildschirmschoner Typ "VDI"
- ----------------------------------
-
- Dies ist ein sogenannter animierter Bildschirmschoner. Das bedeutet, während
- der Dunkelphase (Schonpase) passiert etwas auf dem Bildschirm. Lassen Sie sich
- überraschen.
- Die Dunkelschaltung kann auch verhindert werden. Dazu muß man nur die Maus in
- der rechten unteren Ecke des Bildes parken. Umgekehrt läßt sich die Abschal-
- tung (fast) sofort erzwingen, wenn die Maus in die linke untere Ecke des
- Bildes geschoben wird.
-
- - Vorteil: Man sieht etwas auf dem Bildschirm, was einem signalisiert, daß der
- Rechner läuft.
- - Nachteil: Das gerade laufende Programm wird für die Dauer der Dunkelphase
- angehalten. Dieser Schoner ist also weniger geeignet, wenn beispielsweise
- langwierige Rechnungen laufen, da diese solange unterbrochen werden.
- - Zweiter Nachteil: Funktioniert nicht, wenn sich der Rechner im sogenannten
- Supervisormodus befindet. Das ist sehr häufig in einfachen TOS-Programmen
- der Fall, aber auch beim normalen GEM-Desktop verweigert dieser Typ manch-
- mal seinen Dienst.
- - Dritter Nachteil: Benötigt für die Dauer der Dunkelphase zusätzlichen
- Speicher. Deshalb funktioniert er nicht, wenn nicht mehr genügend freier
- Speicher zur Verfügung steht. Sie können allerdings diesen Zusatzspeicher
- bereits bei Programmstart reservieren. (vgl. 3.)
-
-
- 1.1.2. Bildschirmschoner Typ "Shifter"
- --------------------------------------
-
- Dies ist kein animierter Schoner, es wird lediglich ein schwarzer Bildschirm
- dargestellt.
-
- - Vorteil: Das laufende Programm wird während der Dunkelphase nicht gestoppt.
- - Zeiter Vorteil: Funktioniert auch, wenn sich der Rechner im Supervisormodus
- befindet. (vgl. 1.1.1.)
-
- - Nachteil: Braucht einen zweiten Bildschirmspeicher, der schon beim Programm-
- start reserviert werden muß. Bei einem normalen Atari-ST oder -STE werden
- bereits beim Programmstart zusätzlich 32 kByte Speicher reserviert, die
- natürlich den verfügbaren freien Speicher für andere Programme schmälern.
-
-
- 1.1.3. Bildschirmschoner Typ "Palette"
- --------------------------------------
-
- Die ist die einfachste Form eines Bildschirmschoners. Er ist in dieser Art
- auch in Ataris Mausbeschleuniger-Programm MACCEL3.PRG integriert.
- Es handelt sich ebenfalls um einen nicht animierten Schoner. Er ändert ledig-
- lich die Farbpalette des Rechners, was sich auf dem Atari-ST und -STE in der
- hohen Auflösung so zeigt, daß das Bild negativ dargestellt wird.
- Würde das negative Bild lange stehenbleiben, so währe natürlich der Schon-
- effekt gleich Null, deshalb wird regelmäßig zwischen positiver und negativer
- Darstellung umgeschaltet.
-
- - Vorteil: Er benötigt im Gegensatz zu den beiden anderen Typen keinen zusätz-
- lichen Speicher für die Dauer der Dunkelphase.
- - Zweiter Vorteil: Das laufende Programm wird nicht angehalten.
- - Dritter Vorteil: Funktioniert auch im Supervisormodus (s.o.)
-
- - Nachteil: Bild wird bei Atari-ST und -STE nicht wirklich schwarz, sondern
- nur invertiert.
-
-
-
- 1.2. Die Uhrzeitanzeige
- -----------------------
-
- CLOCKDRV.PRG sorgt auf Wunsch dafür, daß in der Menüzeile (also in der ersten
- Zeile des Bildschirmes) am rechten Rand das Datum und/oder die Uhrzeit einge-
- blendet wird - für alle, die immer wissen wollen, was die Uhr geschlagen hat.
- Die angezeigte Uhrzeit wird ca. einmal pro Sekunde aktualisiert. Deshalb ist
- sie nicht exakt "Tagesschau-synchron".
- Die Anzeige erfolgt jedoch nur, wenn sich der Rechner nicht im sogenannten
- Supervisormodus befindet, was leider in manchen TOS-Programmen oder auch
- beispielsweise beim GEM-Desktop sehr häufig der Fall ist.
-
-
-
-
- 1.3. Der Treiber für die Funkuhr
- --------------------------------
-
- Die wichtigste Funktion von CLOCKDRV.PRG - Ein integrierter Treiber für eine
- DCF-77-Funkuhr. Dieser liesst die Signale von einer an den Joystickport ange-
- schlossenen Funkuhr ein und stellt die Systemuhr des Rechners entsprechend.
-
- Dazu einige Erläuterungen:
-
- Für die ATARI-ST/STE/TT-Rechner gibt es derzeit auf dem Markt sogenannte Funk-
- uhren oder Atomuhren (z.B. Düsseldorfer Ei). Dabei handelt es sich nicht im
- eigentlichen Sinne um Uhren (schon garnicht um Atomuhren), sondern um Empfän-
- ger, die das Zeitzeichensignal des Langwellensenders DCF-77 empfangen und für
- den Rechner aufbereiten.
- Dieser Sender bezieht sein Zeitsignal von einer hochgenauen Cäsium-Atomuhr
- der Physikalisch-Technischen Bundesanstalt in Braunschweig. Diese Atomuhr
- gehört zu den genauesten Uhren der Welt.
- Wenn die empfangene Zeitinformation entsprechend aufbereitet wird, hat der
- Rechner immer die richtige Systemzeit. Uhrstellen beim Atari-ST(E) wird damit
- überflüssig, aber auch die Rechner mit einer eingebauten batteriegepufferten
- Uhr profitieren von der höheren Genauigkeit der DCF-77-Uhr und der automati-
- schen Umstellung auf Sommerzeit.
-
- Nun muß man sich aber nicht unbedingt einen vergleichsweise teuren Empfänger
- für den ATARI kaufen, sondern kann sich mit etwas Geschick auch eine der zahl-
- reichen Funkuhren, die es mit Digitalanzeige oder Analogzifferblatt in jedem
- Uhrengeschäft oder als Modul oder Bausatz im Elektronik-Handel gibt, so modi-
- fizieren, daß man sie an den den ATARI anschließen kann. (mehr dazu s.u.)
- Ein Vorteil: Die Uhr läßt sich weiterhin autonom betreiben, so hat man auch
- die Atomzeit, wenn der Rechner aus ist.
-
- Was man dann noch braucht, ist eine Treibersoftware, die dafür sorgt, daß die
- Impulse von der Uhr korrekt verarbeitet werden und daß die Betriebssystemuhr
- entprechend gestellt wird. Ein solcher Treiber ist CLOCKDRV.PRG.
-
- Zu den anschlußfertigen Funkuhren für den ATARI bekommt man natürlich Treiber
- dazu. Allerdings sind diese noch verbesserungswürdig: Da so ein Empfänger
- i.d.R. an den Joystickport angeschlossen wird, funktionieren die gängigen
- Bildschirmschoner nicht mehr, denn der Tastaturprozessor sendet ständig
- Impulse an den Rechner und der Bildschirmschoner "denkt" immer, die Maus
- würde bewegt oder eine Taste würde gedrückt.
-
- Also muß unser Treiber dafür sorgen, daß der Schoner zwar auf Maus- und
- Tastenimpulse reagiert, nicht jedoch auf Joystickimpulse. Und da sich das
- nicht mit einem x-beliebigen Bildschirmschoner realisieren läßt, wurde in
- CLOCKDRV.PRG gleich der Bildschirmschoner integriert.
-
-
-
- ******************************************************************************
-
-
-
- 2. INSTALLATION
- _______________
-
-
-
- CLOCKDRV.PRG kann sowohl aus dem AUTO-Ordner als auch vom Desktop gestartet
- werden. Das Programm installiert sich dann resident, das heißt, es bleibt bis
- zum nächsten Reset im Speicher und verrichtet seine Arbeit im Hintergrund.
- Eine doppelte Installation wird automatisch verhindert.
- Am besten kopieren Sie CLOCKDRV.PRG einfach in den AUTO-Ordner Ihrer Start-
- diskette bzw. der Bootpartition Ihrer Festplatte.
-
- CLOCKDRV.CPX setzt normalerweise voraus, daß Sie im Besitz des modularen
- Kontrollfeldes XCONTROL.ACC von Atari sind (ist beim Atari-Händler zu haben).
- Dieses neue Kontrollfeld für alle ATARI-ST(E) und TT-Rechner kann beliebig
- viele Programmodule (sogenannte CPX-Module) verwalten.
- CLOCKDRV.CPX muß in das Verzeichnis für die CPX-Module kopiert werden, und
- wird dann beim nächsten Booten automatisch ins Kontrollfeld aufgenommen.
-
- Wenn Sie das modulare Kontrollfeld XCONTROL.ACC von Atari nicht besitzen, so
- benutzen Sie LOAD_CPX.ACC. Damit können sie CLOCKDRV.CPX auch ausführen.
- Sie können LOAD_CPX.ACC als Desk-Acessory installieren und rufen es dann über
- den Eintrag "CPX-Modul starten" im Desk-Menü auf, oder Sie benennen es in
- LOAD_CPX.PRG um und starten es ganz normal vom Desktop aus. Nach dem Start
- von LOAD_CPX können Sie CLOCKDRV.CPX nachladen und ausführen.
-
-
- ******************************************************************************
-
-
-
- 3. KONFIGURIERUNG
- _________________
-
-
-
- CLOCKDRV.PRG läßt sich in seinen Eigenschaften den Bedürfnissen des Anwenders
- anpassen. Insbesondere bei Unverträglichkeiten mit anderen Programmen können
- bestimmte Parameter geändert werden.
- Zur Konfiguration von CLOCKDRV.PRG dient der Kontrollfeld-Modul CLOCKDRV.CPX.
- Wenn CLOCKDRV.CPX im Kontrollfeld installiert ist, rufen Sie es über den
- Eintrag "Treiber konfig." ( mit der Sanduhr als Symbol ) auf.
-
- Mit den Buttons und Edit-Feldern können die Funktionen von CLOCKDRV.PRG den
- Wünschen des Anwenders angepaßt werden können:
-
- 1. "Menüzeile", linker Button
- Damit wird eingestellt, ob auf der rechten Seite der oberen Bildschirmzeile
- (Menüzeile) entweder Datum und Uhrzeit oder nur Uhrzeit oder garnichts
- eingeblendet wird.
- Wenn eine Funkuhr angeschlossen ist, wird links neben der eingeblendeten
- Zeit auch noch mit einem Symbol signalisiert, ob Impulse empfangen werden
- (Pfeil) und ob die empfangenen Daten gültig sind (Uhr).
-
- 2. "Menüzeile", rechter Button
- Wenn in der Menüzeile Datum und/oder Uhrzeit eingeblendet wird, kann damit
- das Aussehen der Zeichen zwischen normalen Zeichen und einem "Digital-Look"
- umgeschaltet werden.
-
- 3. "Menüzeile" Pfeil links/rechts
- Damit ist ein Verschieben der Anzeige in der Menüzeile möglich. Das ist
- u.U. vorteilhaft, da auch andere Programme ihre Ausgaben rechts oben in der
- Menüzeile machen.
- Achtung: Warten Sie einen Augenblick, nachdem Sie einen Pfeile angeklickt
- haben. Sie können dann die Wirkung direkt in der Menüzeile beobachten.
-
- 4. Button "Bildschirmschoner"
- Damit kann der Bildschimschoner abgeschaltet werden, oder ein anderer Typ
- gewählt werden, der das laufende Programm nicht unterbricht, dafür aber
- nicht so schön ist. Der Typ "Shifter" benötigt unbeding einen residenten
- Puffer. Der Typ "Palette" benötigt überhaupt keinen zusätzlichen Speicher,
- er invertiert lediglich das Bild, indem er die Farbpalette vorübergehend
- ändert.
-
- 5. Edit-Feld "Zeit"
- Hier wird die Zeit (in Sekunden) eingetragen, nach der der Bildschirm
- dunkel werden soll, wenn keine Mausbewegung oder Tastenaktionen mehr er-
- folgt sind. Die gleiche Zeit gilt auch für den Festplatten-Autoparker.
-
- 6. Edit-Feld "residenter Puffer"
- Der Bildschirmschoner vom Typ "Shifter" benötigt in jedem Fall einen Bild-
- puffer, der bereits beim Programmstart reserviert werden muß.
- Wenn hier nichts eingetragen wird, aber der Typ "Shifter" gewählt wurde,
- wird die Puffergröße automatisch beim Programmstart bestimmt. Das kann aber
- u.U. falsche Werte ergeben, z.B bei Benutzung von Autoswitch-Overscan.
- Ein residenter Bildpuffer kann aber auch für den Bildschirmschoner vom
- Typ "VDI" nützlich sein, weil bestimmte Programme (z.B. Script, Tempus) den
- gesamten verfügbaren Speicher an sich reißen und dann für den Bildschirm-
- schoner nichts bleibt. Wenn kein Puffer resident ist, fordert der Schoner
- vom Typ "VDI" jedesmal beim Dunkelmachen den Puffer beim Betriebssystem an
- und gibt ihn beim Hellmachen wieder frei. Unter Script oder Tempus würde
- er dann also nicht funktionieren.
- (Weitere Informationen dazu im Kapitel für Insider)
-
- 7. Button "Prozeß-Switch"
- Wird normalerweise nicht geändert. Dient der Anpassung bei eventuellen
- Unverträglichkeiten mit anderen Programmen (näheres im Kapitel für Insider)
-
- 8. Button "akust. Kontr." (akustische Kontrolle)
- Die Funktion ist nützlich zur Kontrolle, ob überhaupt Impulse von der
- Funkuhr ankommen und zum Ausrichten des Empfängers. Bei eingeschalteter
- Kontrolle ertönt ein Piepton im Takt der Funkuhrimpulse.
-
- Die unteren drei Buttons "Sichern", "OK" und "Abrruch" haben die auch von an-
- deren CPX-Modulen bekannten Funktionen:
- "Sichern" speichert alle Einstellungen im CPX-Modul selber und im Programm
- CLOCKDRV.PRG. Beim nächsten Start ist das Programm dann wie gewünscht konfi-
- guriert.
- "OK" übernimmt die aktuellen Einstellungen und verläßt den Modul.
- "Abbruch" stellt die Einstellungen wieder her, die beim Aufruf des Moduls
- geherrscht haben, und verläßt den Modul.
-
- Wenn sich CLOCKDRV.PRG bereits resident im Speicher befindet, werden bei
- "Sichern" und bei "OK" auch die Funktionen des im Speicher befindlichen
- Treibers umgeschaltet.
- Bei einigen Funktionen muß allerdings neu gebootet werden, damit sie wirksam
- werden:
- 1. wenn kein Puffer resident ist und der Bildschirmschoner auf Shifter umge-
- schaltet wird,
- 2. wenn zwischen Timer-A und VBL gewechselt wird.
-
-
-
- ******************************************************************************
-
-
-
- 4. EINSCHRÄNKUNGEN
- __________________
-
-
-
- Wenn Datum/Uhrzeit in der Menüzeile angezeigt werden sollen oder der Bild-
- schirmschoner vom Typ "VDI" das Bild verdunkeln soll, muß sich der Rechner
- im User-Modus befinden. Es scheint so zu sein, daß der Desktop nicht in den
- User-Modus wechselt, wenn keine Desk-Accessories installiert sind. Das hat
- zur Folge, daß dann der Bildschirmschoner "VDI" und die Zeitanzeige nicht
- aktiv werden können. Das betrifft jedoch nur den Desktop. In jedem anderen
- GEM-Programm funktioniert alles einwandfrei.
-
- Die Zeitaktualisierung in der Menüzeile erfolgt normalerweise einmal pro
- Sekunde. Aus dem eben genannten Grund kann sich das jedoch etwas verzögern
- (genauso wie die Abschaltung des Bildschirmes mit dem Schoner vom Typ "VDI").
-
- Einen Fehler konnte ich bis jetzt noch nicht beseitigen: Beim Booten kommt es
- manchmal zum "Hängenbleiben" des Rechners. Dann hilft nur der Reset-Knopf.
-
-
- ******************************************************************************
-
-
-
- 5. ANSCHLUSS EINER FUNKUHR AN DEN ATARI
- _______________________________________
-
-
-
- Funkuhren gibt es als Fertiggeräte oder als Bausätze (z.B. bei ELV).
- Für alle, die mit einem Lötkolben umgehen können, dürfte der Anschluß einer
- handelsüblichen Funkuhr an den ATARI keine Schwierigkeit darstellen.
- Wer sich das nicht zutraut, aber trotzdem nicht auf eine Funkuhr am ATARI
- verzichten möchte, dem kann geholfen werden. Er rufe mich einfach mal an.
-
- Die Funkuhr wird an den Joystickport des ATARI angeschlossen. Prinzipiell
- könnte auch der Druckerport verwendet werden, der ist jedoch i.a. belegt.
- Deshalb habe ich den Treiber ausschließlich für den Joystickport vorgesehen.
-
- Voraussetzung für die Möglichkeit, eine vorhandene Funkuhr mit dem ATARI
- koppeln zu können ist, daß sich die Sekundenimpulse, die vom Sender DCF-77
- empfangen werden, an irgend einer Stelle in der Uhr abgreifen lassen.
- Bei Uhren, die mit dem IC U2775B bestückt sind (das sind die meisten), ist
- das Pin 14 des ICs. Bei anderer Bestückung muß ein passender Punkt gesucht
- werden. Hobbyelektroniker, die im Besitz eines Oszilloskops sind, werden keine
- Schwierigkeiten haben, ihn zu finden: Die Impulsfrequenz ist genau 1Hz,
- die Impulsbreite 0.1s oder 0.2s (0.1s für binär 0, 0.2s für binär 1).
-
- ACHTUNG: Handelsübliche Funkuhren gehen aus Gründen des Stromverbrauchs
- nur einmal pro Stunde auf Empfang, dazwischen läuft die Uhr als ganz normale
- Quarzuhr weiter. Es gibt aber meistens eine Möglichkeit, die Uhr zwangsweise
- auf Empfang zu bringen. Schauen Sie in der Bedienungsanleitung nach.
- Außerdem besteht natürlich die Möglichkeit, durch einen kleinen "Eingriff"
- auf Dauerempfang zu gehen. Bei Uhren mit dem IC U2775B muß die Leitung
- zum Pin 13 aufgetrennt werden und Pin 13 mit Pin-16 (+UB) verbunden werden.
-
- Leider reicht weder die Ausgangsspannung des ICs noch der Strom, um damit
- direkt den ATARI ansteuern zu können. Der Impuls muß noch verstärkt werden.
- Dazu reicht eine einfache Transistorstufe in Emitterschaltung aus:
- Ein npn-Transistor z.B. BC172, Widerstand 50k-150k von der Basis zum Pin 14
- des U2775B, Emitter an Masse, Kollektor zum Joystickport. Einen Kollektorwi-
- derstand kann man sich sparen, da der Joystickport pullup-Widerstände hat.
- Die Impulse werden dem Joystickport auf Pin 1 zugeführt. Am einfachsten nimmt
- man dazu ein fertiges Kabel von einem billigen Joystick. Wer es elegant machen
- will, der lötet das Kabel nicht fest in der Uhr an, sondern versieht die Uhr
- mit einer Miniklinkenbuchse und das Joystickabel mit einem passenden Stecker
- (wie sie z.B. für Walkman-Kopfhörer verwendet werden), dann kann die Uhr
- jederzeit abgekoppelt werden und ist auch noch als Reisewecker brauchbar.
-
-
- ******************************************************************************
-
-
-
- 6. INFORMATIONEN FÜR INSIDER
- ____________________________
-
-
-
- CLOCKDRV.PRG benutzt für die Anzeige der Uhrzeit in der Menüzeile ausschließ-
- lich VDI-Routinen. Ebenso werden VDI-Routinen vom Bildschirmschoner Typ "VDI"
- verwendet. Das hat den Vorteil, daß der Schoner unabhängig vom Betriebssystem
- und von der Hardware funktioniert.
- Damit die VDI-Funktionen verwendet werden können, wird mit einem kleinen Trick
- gearbeitet: Befindet sich das laufende Programm gerade im Usermodus, so wird
- es eingefroren, d.h. alle Register und der Stackpointer werden gesichert und
- auf einen zweiten Prozeß umgeschaltet, der dann entweder den Bildschirm dunkel
- macht, oder die Zeit in die Menüzeile schreibt. Wenn der Zweitprozeß fertig
- ist, wird das ursprüngliche Programm fortgesetzt.
- Die Prozeßumschaltung erfolgt per Timer-Interrupt. Dafür kann entweder der
- Timer A des MFP genutzt werden, oder der VBL-Interrupt. Normalerweise ist
- der Timer A unbenutzt, und seiner Verwendung steht nichts im Wege. Sollte er
- aber bereits von einem anderen Programm genutzt werden, so kann auf den VBL-
- Interrupt ausgewichen werden. Die entsprechende Konfigurierung wird über das
- Kontrollfeld vorgenommen und gesichert. Eine Änderung wird erst beim nächsten
- Booten wirksam.
- Wenn durch die Prozeßumschaltung Unverträglichkeiten mit anderen Programmen
- bestehen, so kann auf eine andere Version des Bildschirmschoners ausgewichen
- werden (Typ Shifter oder Palette).
- Die Puffergröße für den residenten Bildschirmpuffer des Types "Shifter" wird
- normalerweise automatisch beim Programmstart bestimmt. Wenn jedoch Hardware-
- erweiterungen wie z.B. Autoswitch-Overscan installiert sind, so kann es sinn-
- voll sein, eine bestimmte Puffergröße zu definieren.
-
-
- CLOCKDRV.PRG verbiegt folgende Vektoren:
-
- Trap 1 (GEMDOS)
- Trap 2 (GEM)
- Trap 13 (BIOS)
- Trap 14 (XBIOS)
- 200-Hz-Systemtimer (Timer-C des MFP)
- VBL oder Timer-A des MFP (je nach Konfiguration)
- IKBD-Systemvektor
- IKBD-Status-Vektor
- IKBD-Clock-Vektor
- IKBD-Joystick-Vektor
-
- Es wird das XBRA-Verfahren verwendet. Die Kennung lautet 'DCF7'.
- Außerdem wird ein Cookie mit gleichem Namen installiert.
- Sollte noch kein Cookie-Jar vorhanden sein, so wird er angelegt. Bei einem
- Reset wird er dann auch wieder korrekt entfernt.
- Der Wert des Cookies ist ein Zeiger auf folgende Struktur:
- ( Diese Struktur befindet sich in der Datei CLOCKDRV.PRG genau 32 Bytes hinter
- dem Dateianfang. )
-
- typedef struct conf_vars
- {
- LONG id; /* Kennung 'DCF7' */
- WORD config; /* Bitfeld zur Konfigurierung */
- WORD updtlimit; /* Uddatezeit der Menüzeile in 1/200 Sek. */
- WORD darklimit; /* Bildschirmschoner / Autopark in Sekunden */
- LONG bufsize; /* Größe des residenten Bildpuffers */
- DCF_TIME *dcf_time; /* Zeiger auf Struktur vom DCF-77-Treiber */
- WORD phys_handle; /* VDI-Handle der phys. Workstation */
- volatile LONG hz200; /* Ein eigener 200 Hz Zähler */
- volatile BYTE light_on; /* wenn ungleich 0 -> Bildschirm hell */
- } CONF_VARS;
-
- In dieser Struktur sind diverse Variablen, mit deren Hilfe CLOCKDRV.PRG
- konfiguriert wird.
- Die zwei Variablen 'hz_200' und 'Light_on' werden von Interruptroutinen verän-
- dert: 'hz200' ist ein Zähler, der alle 1/200 Sekunden inkrementiert wird, Er
- kann vom Anwender für Zeitmessungen verwendet werden. 'light_on' wirk auf
- den Bildschirmschoner. Bei jeder Mausbewegung oder Tastaturaktion wird diese
- Variable auf ungleich 0 gesetzt. Das kann auch vom Anwender gemacht werden,
- um den dunklen Bildschirm programmgesteuert hellzutasten.
- Im Bitfeld 'config' sind die Funktionen von CLOCKDRV.PRG konfiguriert durch
- Veroderung folgender Werte:
-
- #define SHOWTIME 0x0001 /* Anzeige der Uhrzeit */
- #define SHOWDATE 0x0002 /* Anzeige des Datums */
- #define SHOWDIGI 0x0004 /* Anzeige als Digitalziffern */
- #define SCHONER1 0x0008 /* Bildschirmschoner Typ VDI */
- #define SCHONER2 0x0010 /* Bildschirmschoner Typ Shifter */
- #define SCHONER3 0x0100 /* Bildschirmschoner Typ Palette */
- #define SW_TIMER 0x0020 /* Umschaltung mit Timer-A statt VBL */
-
- 'dcf_time' zeigt auf folgende Struktur:
-
- typedef struct dcf_time
- {
- LONG hi_time;
- LONG lo_time;
- BYTE seconds; /* exakte Sekundenangabe */
- BYTE valid; /* ungleich 0, wenn die Daten gültig sind */
- BYTE syncflag; /* ungleich 0, wenn Synchronimpuls empfangen wird */
- BYTE pulse; /* ungleich 0, wenn korrekte Impulse ankommen */
- } DCF_TIME;
-
- Diese Struktur wird vom DCF-77-Empfangstreiber gefüllt, d.h. sie enthält nur
- sinnvolle Werte, wenn ein DCF-77-Empfänger angeschlossen ist. Durch Zugriff
- auf diese Struktur kann der Anwender die genaue "Atomzeit" erfahren.
- hi_time und lo_time ergeben zusammen ein 64-Bit-Feld, in das die vom DCF-77-
- Empfänger korrekt empfangenen Daten eingetragen werden. Darin sind Datum und
- Uhrzeit folgendermaßen kodiert:
-
- Bit 21-27 Minuten im BCD-Format
- Bit 29-34 Stunden im BCD-Format
- Bit 36-41 Kalendertag im BCD-Format
- Bit 42-44 Wochentag
- Bit 45-49 Kalendermonat im BCD-Format
- Bit 50-57 Kalenderjahr-1900 im BCD-Format
-
- phys_handle ist das VDI-Handle der physikalischen Bildschirmarbeitsstation.
- Da dieses in einem AUTO-Ordner-Programm nicht bestimmt werden kann, wird es
- einfach festgelegt. In allen mir bekannten Betriessystemversionen ist es 1.
- Sollte sich das jedoch mal ändern, kann die Variable gepatcht werden.
-
-
-
- ******************************************************************************
-
-
-
- 7. HOTLINE
- __________
-
-
-
- Fragen, Hinweise, Wünsche an:
-
- Klaus Rittmeier
- Preußerstraße 33
- 06217 Merseburg
- Tel.: (03461) 214093
-
-
-
- ******************************************************************************
-
-
- 8. Updates
- __________
-
- ab Version 1.03
-
- - Festplatten-Autopark-Funktion entfällt
- - "sauberere" Programmierung, weil keine Verwendung mehr von LINEA-Funktionen,
- daher auch mit TOS 2.06 / 3.06 lauffähig
- - Beim Schoner Typ "Shifter" kann nicht mehr mit der Maus zwangsweise
- dunkelgeschaltet werden, oder die Bildschirmabschaltung verhindert werden.
-
- ab Version 1.1
-
- - neu ist der Bildschirmschoner Typ "Palette".
-
-
- ******************************************************************************
-
-
- 9. wenn es nicht so läuft, wie es soll...
- -----------------------------------------
-
- CLOCKDRV läuft bei vielen Nutzern einwandfrei. Da es sich jedoch um ein sehr
- "hardware-nahes" Programm handelt, kann es in der einen oder anderen Konfigu-
- ration zu Unverträglichkeiten mit anderen Programmen kommen. Sollte bei Ihnen
- ein solcher Fall eintreten, so bitte ich Sie, mich zu benachrichtigen.
- Ich bin bemüht, CLOCKDRV an alle Konfigurationen anzupassen.
-
- Wichtig sind für mich folgende Informationen:
-
- - Rechnertyp
- - Betriebssystem-Version (die ist dem Laien leider nicht so ohne weiteres
- zugänglich. Ersatzweise reicht auch die Jahreszahl, die in der Dialogbox
- beim Aufruf des Menüpunktes "Desktop-Info..." im Menü "DESK" erscheint.
- - Hardware-Erweiterungen
- - Programme im AUTO-Ordner (Wichtig ist u.U. auch die Reihenfolge, in der sie
- abgearbeitet werden, die ist nicht zwangsläufig identisch mit der Reihenfol-
- ge, in der sie auf dem Desktop angezeigt werden ! )
- - installierte Desk-Accesories
- - Bei welchen Programmen treten Fehler auf ?
-
-